금융공학프로그래밍3, Quiz4
1. Find out which one of following is wrong?
game/
__init__.py
sound/
__init__.py
echo.py
wav.py
graphic/
__init__.py
screen.py
render.py
play/
__init__.py
run.py
test.py
① >>> from game.sound import echo
>>> echo.echo_test()
Right
② >>> from game.sound.echo import echo_test
>>> echo_test()
Right
③ >>> import game
>>> game.sound.echo.echo_test()
FALSE!! : __init__.py가 empty이므로 game package import시 하단의 하부구조가 자동으로 import 되지 않습니다. 따라서, eco.py 내의 함수 eco_test()를 호출하기 위해서는 eco.py 또는 eco_test()를 직접 호출하여야 합니다.
④ >>> import game.sound.echo
>>> game.sound.echo.echo_test()
Right
2.
np.arrange[5]를 이용하여 array구조를 만들면, dtype이 integer인 array가 생성됩니다.
이중 하나의 object를 float타입으로 수정하더라도, dtype은 integer로 고정되므로 입력한 float타입의 데이터가 integer로 수정되어 할당됩니다.
3.
indexing방식으로 호출하였으므로 1-dimensional이 됩니다. 2-dimensional을 유지하기 위해서는 slicing방식으로 호출하여야 합니다.
(ex: rmat[0:1])
4.
np.hstack 함수는 array를 병합하는 함수로, np.concatenate에 axis=1 옵션과 동일한 함수입니다.
병합하는 두 array간 dimension이 동일해야하는데, a=2, b=1이므로 오류가 발생합니다.
다른 dimension간 병합을 수행하려면 np.colmun_stack함수를 사용하여야 합니다.
5.
a는 2-dim. 3X5 array, b는 0-dim. 3 array입니다.
b[np.newaxis,:]는 0-dim인 b에 x축을 추가하여 1X3 array로 만들어주게 됩니다.
3X5와 1X3간에 덧셈이 성립하지 않으므로 오류가 발생합니다.
한편, b[:,np.newaxis]를 사용하면 3X1 array가 되므로, 덧셈이 가능합니다.